package io.train;

import java.io.File;
import java.io.IOException;

/**
 * @author Cheng Jun
 * Description: 获取当前类的路径
 * @version 1.0
 * @date 2022/8/14 22:47
 */
public class CurrentPathTrain {

    public static void main(String[] args) throws IOException {
        // 第一种：获取类加载的根路径
        File f = new File(CurrentPathTrain.class.getResource("/").getPath());
        System.out.println(f);

        // 获取当前类的所在工程路径; 如果不加“/” 获取当前类的加载目录
        File f2 = new File(CurrentPathTrain.class.getResource("").getPath());
        System.out.println(f2);

        // 第二种：获取项目路径
        File directory = new File("");// 参数为空
        String courseFile = directory.getCanonicalPath();
        System.out.println(courseFile);

        // 第三种
        // URL xmlpath = this.getClass().getClassLoader().getResource("");
        // System.out.println(xmlpath);

        // 第四种：
        System.out.println(System.getProperty("user.dir"));

        // 第五种： 获取所有的类路径 包括jar包的路径
        System.out.println(System.getProperty("java.class.path"));

        // 使用File.separator表示目录的分割符
        System.out.println(File.separator );
    }
}
